package com.ruoyi.common.core.domain.entity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户实体类
 */
public class CustomerUser {

    /** 用户ID */
    private Long customerId;

    /** 若依用户表关联ID */
    private Long userId;

    /** 微信openid */
    private String openid;

    /* 用户名 */
    private String username;
    /** 手机号 */
    private String phoneNumber;

    /** 密码哈希 */
    private String passwordHash;

    /** 昵称 */
    private String nickname;

    /** 头像URL */
    private String avatarUrl;

    /** 性别：0-未知，1-男，2-女 */
    private Integer gender;

    /** 用户状态：0-正常，1-禁用，2-注销 */
    private Integer status;

    /** 绑定区域ID */
    private Long regionId;

    /** 账户余额 */
    private BigDecimal balance;

    /** 注册时间 */
    private Date registerTime;

    /** 最近登录时间 */
    private Date lastLoginTime;

    /** 更新时间 */
    private Date updatedAt;

    /** 删除时间（软删除） */
    private Date deletedAt;

    /** 预留字段1 */
    private String externField1;

    /** 预留字段2 */
    private String externField2;

    // 下面是 getter 和 setter 方法
    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getPasswordHash() {
        return passwordHash;
    }

    public void setPasswordHash(String passwordHash) {
        this.passwordHash = passwordHash;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getAvatarUrl() {
        return avatarUrl;
    }

    public void setAvatarUrl(String avatarUrl) {
        this.avatarUrl = avatarUrl;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getRegionId() {
        return regionId;
    }

    public void setRegionId(Long regionId) {
        this.regionId = regionId;
    }

    public BigDecimal getBalance() {
        return balance;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    public Date getRegisterTime() {
        return registerTime;
    }

    public void setRegisterTime(Date registerTime) {
        this.registerTime = registerTime;
    }

    public Date getLastLoginTime() {
        return lastLoginTime;
    }

    public void setLastLoginTime(Date lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    public Date getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    public Date getDeletedAt() {
        return deletedAt;
    }

    public void setDeletedAt(Date deletedAt) {
        this.deletedAt = deletedAt;
    }

    public String getExternField1() {
        return externField1;
    }

    public void setExternField1(String externField1) {
        this.externField1 = externField1;
    }

    public String getExternField2() {
        return externField2;
    }

    public void setExternField2(String externField2) {
        this.externField2 = externField2;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
}
